

package DAO;


import Entidad.Afiliado;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;




public class AfiliadoDAO {
    
        public boolean save(Afiliado afiliado){
        boolean flag = true;
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPALa1-ModelPU");
        EntityManager em = emf.createEntityManager();
        EntityTransaction trans =em.getTransaction();
        try{
            trans.begin();
            em.persist(afiliado);
            trans.commit();
        }
        catch(Exception e){
            flag=false;
        }
        return flag;
    }
    public Afiliado getAfiliadoById(Integer id){
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPALa1-ModelPU");
        EntityManager em = emf.createEntityManager();
        return em.find(Afiliado.class, id);
    }
    public boolean update(Afiliado afiliado){
        boolean flag =true;
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPALa1-ModelPU");
        EntityManager em = emf.createEntityManager();
        EntityTransaction trans =em.getTransaction();
        try{
            trans.begin();
            em.merge(afiliado);
            trans.commit();
        }
        catch(Exception e){
            flag =false;
        }
        return flag;
    }
    public boolean delete(Afiliado afiliado){
        boolean flag = true;
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPALa1-ModelPU");
        EntityManager em =emf.createEntityManager();
        EntityTransaction trans=em.getTransaction();
        try{
            trans.begin();
            em.remove(em.merge(afiliado));
            trans.commit();
        }
        catch(Exception e){
            flag=false;
        }
        return flag;
    }
/*
    public static void main (String arg[]){

        DeportologoDAO ddao=new DeportologoDAO();
        Deportologo d=new Deportologo();
        d.setCedula(467);
        d.setContraseña("123");
        d.setNombre("carlosRoa");
        ddao.save(d);

        FisioterapeutaDAO fdao=new FisioterapeutaDAO();
        Fisioterapeuta f=new Fisioterapeuta();
        f.setCedula(578);
        f.setContraseña("123");
        f.setNombre("Carloseduardo");
        fdao.save(f);

        CardiovascularDAO cvdao=new CardiovascularDAO();
        Cardiovascular cv=new Cardiovascular();
        cv.setDia(1);
        cv.setFr("4");
        cv.setMaquina("escalad");
        cv.setT(5);
        cvdao.save(cv);

        FuerzaDAO fudao=new FuerzaDAO();
        Fuerza fu=new Fuerza();
        fu.setDia(3);
        fu.setNombre("pesas");
        fu.setR(5);
        fu.setS(3);
        fu.setTipo("espalda");
        fudao.save(fu);

        EstiramientoDAO esdao=new EstiramientoDAO();
        Estiramiento es=new Estiramiento();
        es.setDia(6);
        es.setNumero(22);
        esdao.save(es);

        Rutina r=new Rutina();
        ArrayList<Cardiovascular> lcv=new ArrayList<Cardiovascular>();
        lcv.add(cv);
        ArrayList<Estiramiento> les=new  ArrayList<Estiramiento>();
        les.add(es);
        ArrayList<Fuerza> lfu=new ArrayList<Fuerza>();
        lfu.add(fu);

            
        r.setCardiovasculares(lcv);
        r.setEstiramientos(les);
        r.setFuerzas(lfu);
        r.setIdDeportologo(d);
        Reporteafiliado ra=new Reporteafiliado();
        Reportemedico rm=new Reportemedico();

        AfiliadoDAO adao=new AfiliadoDAO();
        Afiliado a=new Afiliado();
        a=adao.getAfiliadoById(123);
        if(a==null)
            System.out.print("usuario invalido");
        else
        System.out.print(a.getNombre());


        a.setCedula(903);
        a.setContraseña("345");
        a.setEdad(45);
        a.setNombre("lluis");
        a.setSexo("m");
        a.setDValorador(d);
        a.setFValorador(f);
        a.setRutina(r);
        a.setReporteAfiliado(ra);
        a.setReporteMedico(rm);
        adao.save(a);






    }*/

}
